.credit-card-form-fields__extras {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-left: -15px;

	.credit-card-form-fields__field {
		flex-basis: calc( 100% - 15px );
		flex-grow: 1;
		flex-shrink: 0;
		margin-left: 15px;
	}

	.checkout__country-payment-fields {
		margin-left: 0;
	}

	@include breakpoint-deprecated( '>480px' ) {
		.cvv,
		.expiration-date {
			flex-basis: calc( 50% - 15px );
		}

		.country {
			flex-basis: auto;
		}

		.postal-code {
			flex-basis: 8em;
		}
	}
}

.credit-card-form-fields {
	margin-bottom: 15px;

	&__explainer {
		color: var( --color-text-subtle );
		font-size: rem( 14px );
		margin-left: 0.35em;
		font-weight: normal;
	}
}

.credit-card-form-fields__field {
	margin-top: 15px;
	position: relative;

	&.name {
		margin-top: 0;
	}

	select {
		font-size: $font-body;
		width: 100%;
	}

	input[disabled] {
		cursor: not-allowed;
	}

	&.number input {
		text-align: left;
		/*!rtl:ignore*/
		direction: ltr;
	}
}

.credit-card-form-fields__cvv-info {
	.gridicon {
		margin-bottom: -3px;
	}

	.popover__inner {
		align-items: flex-start;
		display: flex;
	}
}

.credit-card-form-fields__cvv-illustration {
	flex: 0 0 42px;
	margin-right: 10px;
}

// Specific for Stripe Elements while we use it in parallel to existing cc fields
.credit-card-form-fields__element {
	padding: 12px 14px 3px;
	border: 1px solid var( --color-neutral-10 );
	font-size: $font-body;
	line-height: 1.5;
	min-height: 1.5em;
	margin-top: 5px;

	&.has-focus {
		box-shadow: 0 0 0 2px var( --color-primary-10 );
		border-color: var( --color-primary );

		&.is-error {
			box-shadow: 0 0 0 2px var( --color-error-10 );
		}
	}

	&.is-error {
		border-color: var( --color-error );
	}
}
